package br.ufrj.pesc.cassandra;


import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.Metadata;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;

public class SimpleCassandraClient {
   private Cluster cluster;
   public Session session;
   public SimpleCassandraClient() {
		if (session==null){
			connect("192.168.8.6");
		}
	}

   public void connect(String node) {
      cluster = Cluster.builder()
            .addContactPoint(node).build();
      Metadata metadata = cluster.getMetadata();
      System.out.printf("Connected to cluster: %s\n", 
            metadata.getClusterName());
      for ( Host host : metadata.getAllHosts() ) {
         System.out.printf("Datatacenter: %s; Host: %s; Rack: %s\n",
               host.getDatacenter(), host.getAddress(), host.getRack());
      }
      session = cluster.connect();
//      session.execute("CREATE KEYSPACE Monitorador WITH replication " + 
//    	      "= {'class':'SimpleStrategy', 'replication_factor':3};");
      session.execute("USE Monitorador;");
 //     session.execute("CREATE TABLE politicosVsDiaComOrientacao (nomeEntidade text,dia timestamp,fonte text,positivo int,neutro int,negativo int,PRIMARY KEY(nomeEntidade, dia,fonte) )");
      
     // session.execute("CREATE TABLE politicosVsDiaDocs( nomeEntidade text,dia timestamp,id int,texto text,PRIMARY KEY (nomeEntidade, dia,id) )");
     // session.execute("CREATE TABLE politicoTotal(nomeEntidade text,pos int,negativo int,neutro int,PRIMARY KEY (nomeEntidade) )");
    // session.execute("CREATE TABLE docsPoliticoDiaId(nomeEntidade text,dia timestamp,id int,texto text,PRIMARY KEY(nomeEntidade,dia,id) )");
//      session.execute("CREATE TABLE docsPoliticoDiaId(nomeEntidade text,dia timestamp,id text,texto text,orientacao int,fonte text,PRIMARY KEY(nomeEntidade,dia,id) )");
   }
   public ResultSet execute(String query){
	      return session.execute(query);
    }

   public void close() {
      cluster.shutdown();
   }

//   public static void main(String[] args) {
//      SimpleCassandraClient client = new SimpleCassandraClient();
//      client.connect("127.0.0.1");
//      
//      client.close();
//   }
}